這篇文章想學習的主題是常見的資料分析函數
前一篇學到了利用groupby.()
搭配聚合函數進行資料的統計分析
像是最大值,最小值,中位數等等
但是pandas身為資料科學界強大的分析工具
本身就有設計好的函數可以快速有效的產出資料分析
當拿到一筆數據想要快速且概略地知道資料的性質或是描述性統計分析時
可以使用下面練習的幾種常見用法
也會繼續利用kaggle上的開源資料進行pandas練習
Kaggle: Your Machine Learning and Data Science Community
這裡會繼續沿用上一篇
從kaggle上找到的關於學生成績的紀錄
先把這筆資料列印部分出來
看看資料的架構長怎樣
df.head()
.head()
前面已經用過很多次
這個的功能是可以展示資料的前幾行
可以大致看過資料長怎樣
就如同上面那張圖
如果數據有數千數萬筆
想要全部顯示出來會耗費大量時間
所以使用.head()
就會變得更有效率
.info()
先將學生資料放進去看看
df.info()
可以看到欄位資訊,缺失值資訊跟資料的型態
下面還會顯示佔用的記憶體大小
.columns
要快速取得欄位名稱可以使用這個
df.columns
如果在處理有很多欄位的數據
或是想要快速找到有什麼欄位的時候
可以利用.columns
快速查找
.describe()
這個函數組合大多數的聚合函數
像是平均數、標準差、百分位數等等的統計數據
可以看到學生的各個科目成績
被描述性統計
利用表格化的形式顯示出來
.sort_values()
可以搭配下述參數
現在利用學生的成績數據來練習排序
df.sort_values(by="math score")
可以看到所有的學生依照數學的成績
由低到高排序
現在練習改變排序,讓成績是由高到低排
只需要多加參數ascending=True
df.sort_values(by="math score", ascending=True)
整筆資料改變成由數學成績由高到低排列
.sort_index()
排序也可以對索引進行排序
也可以搭配參數
ascending()
: 排序方式inplace()
:是否取代資料原始值unique()
這個是用來找到唯一值
但要注意只能用在單個Series內,不能套用在一個以上或是整個dataframe
使用後會回傳該指定欄位內的所有唯一值
現在利用學生的成績資料
假如想要找到該筆資料對於教育程度的分類有哪幾種的時候
df["parental level of education"].unique()
這篇文章使用到的用法
在資料分析的過程中
通常是在匯入資料後會使用到的前幾個步驟
會很常使用到
而且可以減少很多不必要的運算時間
但也經常會出現資料出現缺失值的情況
下一篇就會處理到缺失值
再進行資料分析前做好資料的清洗